home *** CD-ROM | disk | FTP | other *** search
/ Czech Logic, Card & Gambling Games / Logické hry.iso / hry / Fish Fillets / script / briefcase / demo_help.lua < prev    next >
Encoding:
Text File  |  2005-07-16  |  10.5 KB  |  638 lines

  1.  
  2. local function charAt(s, i)
  3.     return string.sub(s, i, i)
  4. end
  5.     
  6. local function moveXY(model, symbols, destX, destY)
  7.     -- symbol is e.g. 'UDLR'
  8.     local result = false
  9.     local locX, locY = model:getLoc()
  10.     local w = model:getW()
  11.     local h = model:getH()
  12.  
  13.     --print("TEST: move '"..symbols.."' "..locX..","..locY.." -> "..destX..","..destY)
  14.  
  15.     --TODO: find undirect path too
  16.     if locX > destX and isWater(locX - 1, locY) then
  17.         level_action_move(charAt(symbols, 3))
  18.     elseif locX < destX and isWater(locX + w, locY) then
  19.         level_action_move(charAt(symbols, 4))
  20.     elseif locY > destY and isWater(locX, locY - 1) then
  21.         level_action_move(charAt(symbols, 1))
  22.     elseif locY < destY and isWater(locX, locY + h) then
  23.         level_action_move(charAt(symbols, 2))
  24.     else
  25.         if locX ~= destX or locY ~= destY then
  26.             error("moveXY - fish cannot move")
  27.         end
  28.         result = true
  29.     end
  30.     return result
  31. end
  32. local function bigMoveXY(x, y)
  33.     return moveXY(big, 'UDLR', x, y)
  34. end
  35. local function smallMoveXY(x, y)
  36.     return moveXY(small, 'udlr', x, y)
  37. end
  38. local function planDelay(delay)
  39.     level_planShow(function(count)
  40.         return count >= delay
  41.     end)
  42. end
  43.  
  44. local function showMove(move)
  45.     level_planShow(function(count)
  46.         return level_action_move(move)
  47.     end)
  48. end
  49.  
  50. --TODO: F1 for How to Play manual
  51. -- ---------------------------------------------------------------
  52. level_planShow(function(count)
  53.     addm(0, "help1")
  54.     return true
  55. end)
  56. planDelay(3)
  57. -- line 9
  58. level_planShow(function(count)
  59.     return smallMoveXY(17, 25)
  60. end)
  61. planDelay(3)
  62. planDelay(3)
  63. -- line 49
  64. showMove('L')
  65. showMove('L')
  66. showMove('L')
  67. level_planShow(function(count)
  68.     addv(0, "help2")
  69.     return true
  70. end)
  71. level_planShow(function(count)
  72.     return bigMoveXY(18, 21)
  73. end)
  74. showMove('D')
  75. showMove('L')
  76. showMove('D')
  77. -- line 63
  78. planDelay(1)
  79. planDelay(27)
  80. -- line 136
  81. planDelay(18)
  82. -- line 171
  83. level_planShow(function(count)
  84.     return level_action_save()
  85. end)
  86. planDelay(6)
  87. -- line 185
  88. level_planShow(function(count)
  89.     return smallMoveXY(9, 25)
  90. end)
  91. level_planShow(function(count)
  92.     addm(0, "help3")
  93.     return true
  94. end)
  95. planDelay(1)
  96. showMove('u')
  97. showMove('u')
  98. showMove('l')
  99. showMove('l')
  100. level_planShow(function(count)
  101.     return smallMoveXY(7, 17)
  102. end)
  103. planDelay(3)
  104. -- line 231
  105. showMove('r')
  106. planDelay(5)
  107. -- line 231
  108. level_planShow(function(count)
  109.     addv(0, "help4")
  110.     return true
  111. end)
  112. planDelay(7)
  113. planDelay(3)
  114. -- line 265
  115. showMove('L')
  116. showMove('L')
  117. showMove('L')
  118. showMove('L')
  119. planDelay(13)
  120. -- line 301
  121. level_planShow(function(count)
  122.     addm(0, "help5")
  123.     return true
  124. end)
  125. planDelay(7)
  126. planDelay(10)
  127. -- line 337
  128. showMove('r')
  129. planDelay(13)
  130. showMove('r')
  131. planDelay(3)
  132. showMove('r')
  133. planDelay(13)
  134. -- line 401
  135. showMove('l')
  136. showMove('l')
  137. showMove('l')
  138. level_planShow(function(count)
  139.     addm(0, "help6")
  140.     return true
  141. end)
  142. showMove('d')
  143. showMove('d')
  144. showMove('r')
  145. showMove('r')
  146. level_planShow(function(count)
  147.     return smallMoveXY(9, 25)
  148. end)
  149. planDelay(1)
  150. level_planShow(function(count)
  151.     return smallMoveXY(7, 25)
  152. end)
  153. planDelay(6)
  154. -- line 453
  155. showMove('u')
  156. showMove('u')
  157. showMove('u')
  158. showMove('u')
  159. planDelay(19)
  160. -- line 499
  161. showMove('d')
  162. planDelay(39)
  163. -- line 579
  164. level_planShow(function(count)
  165.     return level_action_restart()
  166. end)
  167. planDelay(11)
  168. level_planShow(function(count)
  169.     addv(0, "help7")
  170.     return true
  171. end)
  172. planDelay(66)
  173. -- line 729
  174. level_planShow(function(count)
  175.     return level_action_load()
  176. end)
  177. planDelay(8)
  178. level_planShow(function(count)
  179.     addv(0, "help8")
  180.     return true
  181. end)
  182. planDelay(7)
  183. planDelay(29)
  184. -- line 781
  185. level_planShow(function(count)
  186.     return bigMoveXY(9, 23)
  187. end)
  188. showMove('D')
  189. showMove('D')
  190. showMove('L')
  191. showMove('L')
  192. level_planShow(function(count)
  193.     return bigMoveXY(7, 30)
  194. end)
  195. showMove('R')
  196. showMove('R')
  197. showMove('R')
  198. planDelay(3)
  199. -- line 831
  200. showMove('U')
  201. planDelay(3)
  202. level_planShow(function(count)
  203.     addm(0, "help9")
  204.     return true
  205. end)
  206. planDelay(3)
  207. showMove('U')
  208. planDelay(5)
  209. planDelay(10)
  210. -- line 881
  211. showMove('l')
  212. planDelay(26)
  213. showMove('l')
  214. planDelay(3)
  215. -- line 943
  216. level_planShow(function(count)
  217.     return smallMoveXY(7, 25)
  218. end)
  219. planDelay(3)
  220. level_planShow(function(count)
  221.     addm(0, "help10")
  222.     return true
  223. end)
  224. planDelay(5)
  225. showMove('u')
  226. showMove('u')
  227. showMove('u')
  228. showMove('u')
  229. showMove('u')
  230. showMove('u')
  231. showMove('u')
  232. planDelay(16)
  233. -- line 1009
  234. showMove('l')
  235. planDelay(25)
  236. showMove('l')
  237. planDelay(44)
  238. -- line 1151
  239. level_planShow(function(count)
  240.     return level_action_restart()
  241. end)
  242. planDelay(12)
  243. level_planShow(function(count)
  244.     addv(0, "help11")
  245.     return true
  246. end)
  247. planDelay(39)
  248. level_planShow(function(count)
  249.     return level_action_load()
  250. end)
  251. planDelay(4)
  252. planDelay(5)
  253. -- line 1277
  254. level_planShow(function(count)
  255.     return bigMoveXY(9, 23)
  256. end)
  257. showMove('D')
  258. showMove('D')
  259. showMove('L')
  260. showMove('L')
  261. level_planShow(function(count)
  262.     return bigMoveXY(7, 30)
  263. end)
  264. showMove('R')
  265. showMove('R')
  266. showMove('R')
  267. planDelay(2)
  268. -- line 1325
  269. showMove('U')
  270. planDelay(1)
  271. showMove('U')
  272. planDelay(6)
  273. planDelay(3)
  274. level_planShow(function(count)
  275.     addm(0, "help12")
  276.     return true
  277. end)
  278. planDelay(4)
  279. -- line 1359
  280. showMove('l')
  281. showMove('u')
  282. showMove('l')
  283. showMove('u')
  284. planDelay(1)
  285. level_planShow(function(count)
  286.     return smallMoveXY(8, 23)
  287. end)
  288. planDelay(1)
  289. level_planShow(function(count)
  290.     return smallMoveXY(8, 17)
  291. end)
  292. planDelay(7)
  293. showMove('r')
  294. planDelay(8)
  295. showMove('r')
  296. planDelay(3)
  297. showMove('r')
  298. -- line 1436
  299. showMove('r')
  300. showMove('r')
  301. showMove('r')
  302. showMove('d')
  303. showMove('d')
  304. showMove('r')
  305. showMove('d')
  306. showMove('d')
  307. showMove('d')
  308. planDelay(1)
  309. showMove('r')
  310. showMove('r')
  311. showMove('r')
  312. level_planShow(function(count)
  313.     return smallMoveXY(17, 25)
  314. end)
  315. -- line 1469
  316. level_planShow(function(count)
  317.     addm(0, "help13")
  318.     return true
  319. end)
  320. planDelay(7)
  321. showMove('d')
  322. planDelay(22)
  323. -- line 1531
  324. showMove('l')
  325. showMove('l')
  326. showMove('l')
  327. planDelay(11)
  328. showMove('r')
  329. showMove('r')
  330. showMove('d')
  331. planDelay(2)
  332. -- line 1569
  333. showMove('l')
  334. showMove('l')
  335. showMove('l')
  336. showMove('l')
  337. planDelay(45)
  338. -- line 1667
  339. level_planShow(function(count)
  340.     return level_action_restart()
  341. end)
  342. planDelay(8)
  343. level_planShow(function(count)
  344.     return level_action_load()
  345. end)
  346. planDelay(4)
  347. level_planShow(function(count)
  348.     addv(0, "help14")
  349.     return true
  350. end)
  351. planDelay(10)
  352. -- line 1717
  353. level_planShow(function(count)
  354.     return smallMoveXY(7, 25)
  355. end)
  356. planDelay(5)
  357. showMove('l')
  358. planDelay(13)
  359. level_planShow(function(count)
  360.     addm(0, "help15")
  361.     return true
  362. end)
  363. showMove('u')
  364. showMove('u')
  365. showMove('u')
  366. planDelay(7)
  367. -- line 1815
  368. showMove('r')
  369. showMove('r')
  370. showMove('r')
  371. showMove('r')
  372. planDelay(5)
  373. planDelay(2)
  374. showMove('L')
  375. showMove('D')
  376. showMove('D')
  377. planDelay(2)
  378. -- line 1847
  379. showMove('L')
  380. showMove('L')
  381. showMove('L')
  382. showMove('L')
  383. showMove('L')
  384. planDelay(1)
  385. -- line 1857
  386. showMove('L')
  387. showMove('L')
  388. showMove('L')
  389. showMove('L')
  390. showMove('D')
  391. showMove('D')
  392. showMove('D')
  393. showMove('D')
  394. showMove('D')
  395. showMove('R')
  396. showMove('R')
  397. showMove('R')
  398. -- line 1895
  399. showMove('U')
  400. planDelay(2)
  401. level_planShow(function(count)
  402.     addm(0, "help16")
  403.     return true
  404. end)
  405. planDelay(6)
  406. planDelay(4)
  407. -- line 1923
  408. showMove('d')
  409. showMove('d')
  410. showMove('d')
  411. showMove('l')
  412. showMove('l')
  413. showMove('d')
  414. showMove('d')
  415. planDelay(7)
  416. -- line 1955
  417. showMove('r')
  418. planDelay(29)
  419. showMove('r')
  420. planDelay(3)
  421. -- line 2023
  422. level_planShow(function(count)
  423.     return smallMoveXY(4, 27)
  424. end)
  425. showMove('d')
  426. showMove('d')
  427. showMove('d')
  428. planDelay(4)
  429. planDelay(3)
  430. showMove('U')
  431. planDelay(2)
  432. showMove('U')
  433. planDelay(6)
  434. planDelay(4)
  435. -- line 2083
  436. level_planShow(function(count)
  437.     return smallMoveXY(10, 30)
  438. end)
  439. showMove('u')
  440. showMove('r')
  441. level_planShow(function(count)
  442.     addm(0, "help17")
  443.     return true
  444. end)
  445. planDelay(11)
  446. planDelay(8)
  447. showMove('L')
  448. showMove('L')
  449. showMove('L')
  450. planDelay(8)
  451. -- line 2163
  452. showMove('D')
  453. level_planShow(function(count)
  454.     return bigMoveXY(3, 28)
  455. end)
  456. planDelay(5)
  457. planDelay(6)
  458. level_planShow(function(count)
  459.     addm(0, "help18")
  460.     return true
  461. end)
  462. planDelay(4)
  463. -- 2205
  464. level_planShow(function(count)
  465.     return smallMoveXY(7, 29)
  466. end)
  467. level_planShow(function(count)
  468.     return smallMoveXY(7, 25)
  469. end)
  470. showMove('l')
  471. planDelay(3)
  472. showMove('u')
  473. planDelay(6)
  474. showMove('d')
  475. planDelay(6)
  476. showMove('u')
  477. showMove('u')
  478. showMove('u')
  479. showMove('u')
  480. showMove('u')
  481. planDelay(4)
  482. showMove('u')
  483. planDelay(4)
  484. showMove('l')
  485. planDelay(5)
  486. -- line 2301
  487. showMove('r')
  488. showMove('r')
  489. showMove('r')
  490. showMove('r')
  491. showMove('u')
  492. showMove('u')
  493. planDelay(5)
  494. showMove('r')
  495. showMove('r')
  496. planDelay(4)
  497. planDelay(3)
  498. -- line 2343
  499. level_planShow(function(count)
  500.     return bigMoveXY(8, 28)
  501. end)
  502. showMove('D')
  503. showMove('R')
  504. planDelay(5)
  505. showMove('U')
  506. planDelay(1)
  507. showMove('U')
  508. showMove('U')
  509. planDelay(11)
  510. planDelay(3)
  511. level_planShow(function(count)
  512.     addm(0, "help19")
  513.     return true
  514. end)
  515. planDelay(4)
  516. -- line 2421
  517. showMove('l')
  518. showMove('l')
  519. showMove('l')
  520. showMove('d')
  521. showMove('d')
  522. planDelay(1)
  523. showMove('r')
  524. showMove('r')
  525. showMove('r')
  526. showMove('d')
  527. showMove('d')
  528. showMove('d')
  529. planDelay(8)
  530. -- line 2461
  531. showMove('r')
  532. planDelay(2)
  533. showMove('r')
  534. level_planShow(function(count)
  535.     return smallMoveXY(6, 22)
  536. end)
  537. level_planShow(function(count)
  538.     return smallMoveXY(6, 28)
  539. end)
  540. planDelay(1)
  541. level_planShow(function(count)
  542.     return smallMoveXY(14, 28)
  543. end)
  544. showMove('u')
  545. showMove('r')
  546. showMove('r')
  547. showMove('r')
  548. level_planShow(function(count)
  549.     return smallMoveXY(17, 22)
  550. end)
  551. planDelay(2)
  552. -- line 2539
  553. showMove('l')
  554. showMove('l')
  555. planDelay(1)
  556. showMove('l')
  557. planDelay(9)
  558. level_planShow(function(count)
  559.     addv(0, "help20")
  560.     return true
  561. end)
  562. -- line 2571
  563. showMove('r')
  564. showMove('r')
  565. showMove('r')
  566. planDelay(3)
  567. planDelay(3)
  568. showMove('R')
  569. showMove('R')
  570. showMove('R')
  571. planDelay(3)
  572. showMove('L')
  573. showMove('L')
  574. showMove('L')
  575. planDelay(2)
  576. planDelay(3)
  577. -- line 2617
  578. level_planShow(function(count)
  579.     return smallMoveXY(17, 26)
  580. end)
  581. showMove('l')
  582. showMove('l')
  583. showMove('l')
  584. planDelay(3)
  585. planDelay(3)
  586. showMove('L')
  587. showMove('L')
  588. showMove('L')
  589. planDelay(4)
  590. level_planShow(function(count)
  591.     return bigMoveXY(10, 26)
  592. end)
  593. planDelay(4)
  594. planDelay(3)
  595. -- line 2683
  596. level_planShow(function(count)
  597.     return smallMoveXY(18, 26)
  598. end)
  599. planDelay(15)
  600. showMove('u')
  601. planDelay(2)
  602. showMove('l')
  603. planDelay(1)
  604. level_planShow(function(count)
  605.     addm(0, "help21")
  606.     return true
  607. end)
  608. planDelay(5)
  609. planDelay(4)
  610. -- line 2751
  611. level_planShow(function(count)
  612.     return bigMoveXY(15, 26)
  613. end)
  614. planDelay(4)
  615. showMove('R')
  616. planDelay(5)
  617. planDelay(7)
  618. -- line 2795
  619. showMove('l')
  620. planDelay(5)
  621. showMove('l')
  622. planDelay(8)
  623. showMove('r')
  624. planDelay(2)
  625. showMove('r')
  626. planDelay(3)
  627. level_planShow(function(count)
  628.     addv(0, "help22")
  629.     return true
  630. end)
  631. planDelay(70)
  632. -- line 2981
  633. level_planShow(function(count)
  634.     addm(0, "help23")
  635.     return true
  636. end)
  637. planDelay(114)
  638.